layui.config({
	base: '../../js/',
})
var re;
layui.use(['treeTable','layer','code','form'],function(){
	var o = layui.$,
		form = layui.form,
		layer = layui.layer,
		treeTable = layui.treeTable;
	re = treeTable.render({
		elem: '#tree-table',
		url: access_url + '/system/systemmanage/querymenulist?',
		icon_key: 'menu_name',
		primary_key : 'menu_id',
		parent_key : 'parent_id',
		is_checkbox: false,
		end: function(e){
			form.render();
		},
		cols: [
			{
				key: 'menu_name',
				title: '菜单名称',
				width: '200px'
			},
			{
				key: 'menu_url',
				title: '菜单路径',
				width: '450px',
				align: 'center',
				template: function(item){
					if(isNull(item.menu_url)){
						return '--';
					}else{
						return item.menu_url;
					}
				}
			},
			{
				key: 'menu_sort',
				title: '排序',
				width: '100px',
				align: 'center',
			},
			{
				key: 'create_time',
				title: '创建时间',
				width: '200px',
				align: 'center',
			},
			{
				title: '操作',
				align: 'center',
				width: '180px',
				template: function(item){
					return `<a class="layui-btn layui-btn-xs" lay-filter="update">编辑</a>
							<a class="layui-btn layui-btn-danger layui-btn-xs" lay-filter="delete">删除</a>
							<a class="layui-btn layui-btn-normal layui-btn-xs" lay-filter="add">新增下级</a>`;
				}
			}
		]
	});
	// 监听checkbox选择
	treeTable.on('tree(box)',function(data){
		if(o(data.elem).parents('#tree-table1').length){
			var text = [];
			o(data.elem).parents('#tree-table1').find('.cbx.layui-form-checked').each(function(){
				o(this).parents('[data-pid]').length && text.push(o(this).parents('td').next().find('span').text());
			})
			o(data.elem).parents('#tree-table1').prev().find('input').val(text.join(','));
		}
		layer.msg(JSON.stringify(data));
	})
	// 修改菜单
	treeTable.on('tree(update)',function(data){
		console.log("data",data);
		var menuInfo = data.item;
		layer.open({
			type : 2
			,title : '修改菜单信息'
			,area : ['600px','450px']
			,offset : '20px'
			,fixed : false
			,content : 'updateMenu.html'
			,resize : false
			,success: function (layero, index) {
                // 获取子页面的iframe
                var iframe = window['layui-layer-iframe' + index];
                // 向子页面的全局函数child传参
                iframe.transmitParam(menuInfo);
            }
		})
	})
	// 添加下级菜单
	treeTable.on('tree(add)',function(data){
		console.log("data",data);
		var menuInfo = data.item;
		layer.open({
			type : 2
			,title : '添加菜单'
			,area : ['600px','450px']
			,offset : '20px'
			,fixed : false
			,content : 'addMenu.html'
			,resize : false
			,success: function (layero, index) {
                // 获取子页面的iframe
                var iframe = window['layui-layer-iframe' + index];
                // 向子页面的全局函数child传参
                iframe.transmitParam(menuInfo);
            }
		})
	})
	// 删除菜单
	treeTable.on('tree(delete)',function(data){
		console.log("data",data);
		var menu_id = data.item.menu_id;
		layer.confirm('确定删除该菜单?',{icon:3,title:'提示'},function(index){
			layer.load(2);
			$.ajax({
				type : 'get'
			    ,dataType : 'json'
			    ,url : access_url+'/system/systemmanage/deletemenu'
			    ,data : {
			    	menu_id : menu_id
			    }
				,success : function(data){
					layer.closeAll('loading');
					if(data.code != 200){
						layer.msg(data.msg, {icon: 5});
						return;
					}
					layer.alert(data.msg,{icon:6});
					loadTable();
					layer.close(index);
				}
			})
		})
		
	})
	// 刷新重载树表（一般在异步处理数据后刷新显示）
	o('#queryMenu').click(function(){
		loadTable();
	})
	// 全部展开
	o('.open-all').click(function(){
		treeTable.openAll(re);
	})
	// 全部关闭
	o('.close-all').click(function(){
		treeTable.closeAll(re);
	})
})

$('#add-menu').click(function(){
	layer.open({
		type : 2
		,title : '添加菜单'
		,area : ['600px','450px']
		,offset : '20px'
		,fixed : false
		,content : 'addMenu.html'
		,resize : false
	})
})

function loadTable(){
	layui.use(['treeTable'],function(){
		var treeTable = layui.treeTable;
		var menu_name = $('#menu_name').val();
		var requesturl = re.url;
		var url = requesturl.substring(0,requesturl.indexOf('?')+1);
		if(!isNull(menu_name)){
			re.url = url+"menu_name="+menu_name;
		}else{
			re.url = url;
		}
		treeTable.render(re);
	})
}